using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace DblogStudio.DAL.Models.Mapping
{
    public class LichBaoTriMap : EntityTypeConfiguration<LichBaoTri>
    {
        public LichBaoTriMap()
        {
            // Khoá chính
            this.HasKey(t => t.MaLichBaoTri);

            // Các cột
            this.Property(t => t.GhiChu)
                .HasMaxLength(255);

            // Ánh xạ Property của POCO vào Column của Table
            this.ToTable("LichBaoTri");
            this.Property(t => t.MaLichBaoTri).HasColumnName("MaLichBaoTri");
            this.Property(t => t.ChuKy).HasColumnName("ChuKy");
            this.Property(t => t.GhiChu).HasColumnName("GhiChu");
            this.Property(t => t.NgayBaoTri).HasColumnName("NgayBaoTri");
            this.Property(t => t.MaChiTietMay).HasColumnName("MaChiTietMay");
            this.Property(t => t.MaNhiemVuBaoTri).HasColumnName("MaNhiemVuBaoTri");
            // Các quan hệ
            this.HasRequired(t => t.ChiTietMay)
                .WithMany(t => t.ListLichBaoTri)
                .HasForeignKey(d => d.MaChiTietMay);

            this.HasRequired(t => t.NhiemVuBaoTri)
                .WithMany(t => t.ListLichBaoTri)
                .HasForeignKey(d => d.MaNhiemVuBaoTri);
        }
    }
}
